home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Technotools
/
Technotools (Chestnut CD-ROM)(1993).ISO
/
lang_c
/
bc_ti
/
ti803.asc
< prev
next >
Wrap
Text File
|
1992-02-24
|
2KB
|
133 lines
PRODUCT : C++ NUMBER : 803
VERSION : All
OS : PC DOS
DATE : February 25, 1992 PAGE : 1/1
TITLE : Dynamically Allocated Multidimensional Arrays
#include <stdio.h>
#include <alloc.h>
#define ROW 10
#define COLUMN 15
typedef int ARRAYTYPE;
typedef ARRAYTYPE * ARRAYTYPEPTR;
/* Declare the 2D array as a pointer to a pointer to
ARRAYTYPE */
/* Note there is no memory allocated for the array yet.
*/
ARRAYTYPEPTR *array;
void main()
{
int i, j;
/* First, allocate an array of pointers to ARRAYTYPE of ROW
*/
/* elements. Next, looping through the array of pointers,
*/
/* allocate arrays of ARRAYTYPE of COLUMN elements and
assign */
/* them to the pointers. This assigns the necessary memory
to */
/* the array, which you can then index via the [] operators.
*/
array = (ARRAYTYPEPTR *) malloc (ROW * sizeof(ARRAYTYPEPTR));
for (i = 0; i < ROW; i++)
array[i] = (ARRAYTYPEPTR) malloc (COLUMN * sizeof
(ARRAYTYPE));
/* Fill array with unique values */
for (i = 0; i < ROW; i++)
for (j = 0; j < COLUMN; j++)
array[i][j] = (COLUMN * i) + j;
/* Print out array to make sure everything's OK */
PRODUCT : C++ NUMBER : 803
VERSION : All
OS : PC DOS
DATE : February 25, 1992 PAGE : 2/1
TITLE : Dynamically Allocated Multidimensional Arrays
for (i = 0; i < ROW; i++) {
for (j = 0; j < COLUMN; j++)
printf("%4d",array[i][j]);
putchar('\n');
}
}